package com.company.cloud.uba.modules.api.service;

import com.company.cloud.common.bean.BaseClientResult;
import com.company.common.server.constant.ServiceNameConstant;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import com.company.cloud.uba.modules.api.fallback.UbaLogRemoteServiceFallbackFactory;
import com.company.cloud.uba.modules.api.request.SysLogAddBatchRequest;
import com.company.cloud.uba.modules.api.request.SysLogAddRequest;
import com.company.cloud.uba.modules.api.request.UserBrowseAddBatchRequest;
import com.company.cloud.uba.modules.api.request.UserBrowseAddRequest;
import com.company.cloud.uba.modules.api.request.UserBrowseObjLogAddBatchRequest;
import com.company.cloud.uba.modules.api.request.UserBrowseObjLogAddRequest;
import com.company.cloud.uba.modules.api.request.UserLoginLogRequest;

@FeignClient(contextId = "uba-saas", name = ServiceNameConstant.uba_center, fallbackFactory = UbaLogRemoteServiceFallbackFactory.class)
public interface UbaLogRemoteService {

	//=============================================
	/**新增系统日志*/
	@PostMapping("/remote/uba/saveSysLogOne")
	public BaseClientResult<String> saveSysLogOne(@RequestBody SysLogAddRequest params);
	
	/**批量新增系统日志*/
	@PostMapping("/remote/uba/saveSysLogBatch")
	public BaseClientResult<String> saveSysLogBatch(@RequestBody SysLogAddBatchRequest params);

	//=============================================
	/**保存登录日志*/
	@Deprecated
	@PostMapping("/remote/uba/saveUserLoginLog")
	public BaseClientResult<String> saveUserLoginLog(@RequestBody UserLoginLogRequest params);


	//=============================================
	/**批量保存用户浏览日志*/
	@PostMapping("/remote/uba/saveUserBrowseBatch")
	public BaseClientResult<String> saveUserBrowseBatch(@RequestBody UserBrowseAddBatchRequest params);
	
	/**保存用户浏览日志*/
	@PostMapping("/remote/uba/saveUserBrowseOne")
	public BaseClientResult<String> saveUserBrowseOne(@RequestBody UserBrowseAddRequest params);

	//=============================================
	/***/
	@PostMapping("/remote/uba/saveUserBrowseObjLogBatch")
	public BaseClientResult<String> saveUserBrowseObjLogBatch(@RequestBody UserBrowseObjLogAddBatchRequest params);

	/***/
	@PostMapping("/remote/uba/saveUserBrowseObjLogOne")
	public BaseClientResult<String> saveUserBrowseObjLogOne(@RequestBody UserBrowseObjLogAddRequest params);
	
	

}
